#ifndef CLIENTMANAGER_HPP
#define CLIENTMANAGER_HPP

#include <map>
#include <string>

#include "Client.hpp"


class ClientManager
{
	public:
	std::map<std::string,Client*> clientByLogin;
	std::map<int,Client*> clientBySfd;
	std::map<std::string,std::map<std::string,Client*> > clientListByMap;

	int add(Client*);
	int remove(Client*);
	int changeMap(std::string newMap,std::string login);

	/* constructor & destructor */
	ClientManager();
	~ClientManager();

	Client* getClientByLogin(std::string);
	Client* getClientBySfd(int);
	std::map<std::string,Client*>* getClientsByMap(std::string map);
};

#endif
